package com.iweb.twodimension;

public class Demo1 {
    public static void main(String[] args) {
/*
    二维数组静态初始化格式：
        数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2},{元素1,元素2}};
    简化格式：
        数据类型[][] 数组名 = {{元素1,元素2},{元素1,元素2}};
    元素访问：
        数组名[索引][索引];
    二维数组遍历：
        先得到一维数组，再遍历一维数组得到元素
 */
        int[][] arr = new int[][]{{1, 2, 3}, {4, 5, 6, 7, 8}};
        int[][] arr2 = {{1, 2, 3}, {4, 5, 6, 7, 8}};
        int[][] arr3 = {
                {1, 2, 3},
                {4, 5, 6, 7, 8}
        };
//        获取数组
        System.out.println(arr3[0]);    //表示获取二维数组中第一个一维数组的地址值 [I@1b6d3586
        System.out.println(arr3[0][0]); //1
        System.out.println(arr3[1][0]); //4
//        System.out.println(arr3[2][0]); //ArrayIndexOutOfBoundsException

/*
//        遍历二维数组
        for (int i = 0; i < arr3.length; i++) {
//            i：表示二维数组中的每一个索引
//            arr[i]：表示二维数组中的每一个元素（一维数组）
            for (int j = 0; j < arr3[i].length; j++) {
//                j：表示一维数组的每一个索引
                System.out.println(arr3[i][j]);
            }
        }
*/
        //        【改进】遍历二维数组
//        外循环：遍历二维数组，得到里面的每一个一维数组
        for (int i = 0; i < arr3.length; i++) {
            for (int j = 0; j < arr3[i].length; j++) {
                System.out.print(arr3[i][j] + " ");
            }
            System.out.println();
        }

    }
}
